package com.financing.wap.dao;

import java.util.List;

import com.financing.wap.dto.CompanyInvitationCodeDTO;
import com.financing.wap.dto.CorpDeptDTO;
import com.financing.wap.dto.CorpFaUserDTO;
import com.financing.wap.dto.FaUserCertDTO;
import com.financing.wap.vo.CorpDeptVO;
import com.financing.wap.vo.CorpFaUserVO;


public interface ICorpDao extends IBaseDao<FaUserCertDTO, Integer> {

	/**
	 * 新增机构下属FA
	 * @param dto
	 * @return
	 */
	public String addCorpFaUser(CorpFaUserDTO dto);
	
	/**
	 * 获取机构下所有FA信息
	 * @param id 机构Id
	 * @return
	 */
	public List<CorpFaUserDTO> getCorpUserFaList(CorpFaUserVO vo);
	
	
	/**
	 * 获取机构FA信息
	 * @param id 机构Id
	 * @return
	 */
	public  CorpFaUserDTO  getCorpUserFaView(CorpFaUserVO vo);
	
	/**
	 * 获取机构下所有FA信息记录数
	 * @param id 机构Id
	 * @return
	 */
	public Integer getCorpUserFaCount(CorpFaUserVO vo);
	
	/**
	 * 获取机构下属部门信息
	 * @param corpId
	 * @return
	 */
	public List<CorpDeptDTO> getCorpDeptList(CorpDeptVO vo);
	
	/**
	 * 新增机构部门信息
	 * @param corpId
	 * @return
	 */
	public Integer insertCorpDept(CorpDeptDTO dto);
	
	/**
	 * 更新机构部门信息
	 * @param corpId
	 * @return
	 */
	public Integer updateCorpDeptList(CorpDeptDTO dto);
	
	/**
	 * 获取部门详情
	 * @return
	 */
	public CorpDeptDTO getCorpDeptViewById(CorpDeptVO vo);
	
	/**
	 * 
	 * @Title: getCorpInvitationCode
	 * @Description: 获取机构邀请码 
	 * @param @param cic
	 * @param @return   
	 * @return CompanyInvitationCodeDTO   
	 * @throws
	 */
	public CompanyInvitationCodeDTO getCorpInvitationCode(CompanyInvitationCodeDTO cic);
	
}
